<?php
return [
    /*
     * 公众号
     */
    'official_account' => [
        'default' => [
            'app_id'  => env('WECHAT_OFFICIAL_DEFAULT_APPID', ''),         // AppID
            'secret'  => env('WECHAT_OFFICIAL_DEFAULT_SECRET', ''),    // AppSecret
            'token'   => env('WECHAT_OFFICIAL_DEFAULT_TOKEN', ''),           // Token
            'aes_key' => env('WECHAT_OFFICIAL_DEFAULT_AES_KEY', ''),                 // EncodingAESKey
            /**
             * OAuth 配置
             *
             * scopes：公众平台（snsapi_userinfo / snsapi_base），开放平台：snsapi_login
             * callback：OAuth授权完成后的回调页地址
             */
            'oauth' => [
                'scopes'   => ['snsapi_userinfo'],
                // 'callback' => '/examples/oauth_callback.php',
            ],

            /**
             * 接口请求相关配置，超时时间等，具体可用参数请参考：
             * https://github.com/symfony/symfony/blob/5.3/src/Symfony/Contracts/HttpClient/HttpClientInterface.php
             */
            'http' => [
                'timeout' => 5.0,
                // 'base_uri' => 'https://api.weixin.qq.com/', // 如果你在国外想要覆盖默认的 url 的时候才使用，根据不同的模块配置不同的 uri

                'retry' => true, // 使用默认重试配置
                'throw'=>false,
                //  'retry' => [
                //      // 仅以下状态码重试
                //      'http_codes' => [429, 500]
                //       // 最大重试次数
                //      'max_retries' => 3,
                //      // 请求间隔 (毫秒)
                //      'delay' => 1000,
                //      // 如果设置，每次重试的等待时间都会增加这个系数
                //      // (例如. 首次:1000ms; 第二次: 3 * 1000ms; etc.)
                //      'multiplier' => 3
                //  ],
            ],
        ],
    ],
    /*
     * 开放平台第三方平台
     */
    'open_platform' => [
        'default' => [
            'app_id'  => env('WECHAT_OPEN_PLATFORM_APPID', ''),
            'secret'  => env('WECHAT_OPEN_PLATFORM_SECRET', ''),
            'token'   => env('WECHAT_OPEN_PLATFORM_TOKEN', ''),
            'aes_key' => env('WECHAT_OPEN_PLATFORM_AES_KEY', ''),
            /**
             * 接口请求相关配置，超时时间等，具体可用参数请参考：
             * https://github.com/symfony/symfony/blob/5.3/src/Symfony/Contracts/HttpClient/HttpClientInterface.php
             */
            'http' => [
                'throw'  => false, // 状态码非 200、300 时是否抛出异常，默认为开启
                'timeout' => 5.0,
                // 'base_uri' => 'https://api.weixin.qq.com/', // 如果你在国外想要覆盖默认的 url 的时候才使用，根据不同的模块配置不同的 uri

                'retry' => true, // 使用默认重试配置
                //  'retry' => [
                //      // 仅以下状态码重试
                //      'http_codes' => [429, 500]
                //       // 最大重试次数
                //      'max_retries' => 3,
                //      // 请求间隔 (毫秒)
                //      'delay' => 1000,
                //      // 如果设置，每次重试的等待时间都会增加这个系数
                //      // (例如. 首次:1000ms; 第二次: 3 * 1000ms; etc.)
                //      'multiplier' => 3
                //  ],
            ],
        ],
    ],

    /*
     * 小程序
     */
    'mini_program' => [
        'default' => [
            'app_id'  => env('WECHAT_MINI_PROGRAM_DEFAULT_APPID', ''),
            'secret'  => env('WECHAT_MINI_PROGRAM_DEFAULT_SECRET', ''),
            'token'   => env('WECHAT_MINI_PROGRAM_DEFAULT_TOKEN', ''),
            'aes_key' => env('WECHAT_MINI_PROGRAM_DEFAULT_AES_KEY', ''),
            /**
             * 接口请求相关配置，超时时间等，具体可用参数请参考：
             * https://github.com/symfony/symfony/blob/5.3/src/Symfony/Contracts/HttpClient/HttpClientInterface.php
             */
            'http' => [
                'throw'  => true, // 状态码非 200、300 时是否抛出异常，默认为开启
                'timeout' => 5.0,
                // 'base_uri' => 'https://api.weixin.qq.com/', // 如果你在国外想要覆盖默认的 url 的时候才使用，根据不同的模块配置不同的 uri

                'retry' => true, // 使用默认重试配置
                //  'retry' => [
                //      // 仅以下状态码重试
                //      'http_codes' => [429, 500]
                //       // 最大重试次数
                //      'max_retries' => 3,
                //      // 请求间隔 (毫秒)
                //      'delay' => 1000,
                //      // 如果设置，每次重试的等待时间都会增加这个系数
                //      // (例如. 首次:1000ms; 第二次: 3 * 1000ms; etc.)
                //      'multiplier' => 3
                //  ],
            ],
        ],
    ],
    /*
     * 微信支付
     */
    'payment' => [
        'default'=> [
            'mch_id' => env('WECHAT_PAYMENT_SERVER_MCH_ID', 'your-mch-id'),

            // 商户证书
            'private_key' => base_path(env('WECHAT_PAYMENT_SERVER_KEY_PATH', '')),
            'certificate' => base_path(env('WECHAT_PAYMENT_SERVER_CERT_PATH', '')),

            // v3 API 秘钥
            'secret_key' => env('WECHAT_PAYMENT_SERVER_KEY_V3', 'key-for-signature'),

            // v2 API 秘钥
            'v2_secret_key' => env('WECHAT_PAYMENT_SERVER_KEY_V2', 'key-for-signature'),

            // 平台证书：微信支付 APIv3 平台证书，需要使用工具下载
            // 下载工具：https://github.com/wechatpay-apiv3/CertificateDownloader
            'platform_certs' => [
                base_path(env('WECHAT_PAYMENT_SERVER_PLATFORM_PATH', '')),
            ],
            'notify_url' => env('WECHAT_PAYMENT_SERVER_NOTIFY_URL', ''),
            'refund_notify_url' => env('WECHAT_PAYMENT_SERVER_REFUND_NOTIFY_URL', ''),

            /**
             * 接口请求相关配置，超时时间等，具体可用参数请参考：
             * https://github.com/symfony/symfony/blob/5.3/src/Symfony/Contracts/HttpClient/HttpClientInterface.php
             */
            'http' => [
                'throw'  => true, // 状态码非 200、300 时是否抛出异常，默认为开启
                'timeout' => 5.0,
                // 'base_uri' => 'https://api.mch.weixin.qq.com/', // 如果你在国外想要覆盖默认的 url 的时候才使用，根据不同的模块配置不同的 uri
            ],
        ]
    ],

    /*
     * 企业微信
     */
    'work' => [
        'default' => [
            'corp_id' => env('WECHAT_WORK_CORP_ID', ''),
            'agent_id' => env('WECHAT_WORK_AGENT_ID', ''),
            'secret'   => env('WECHAT_WORK_SECRET', ''),
            'token' =>  env('WECHAT_WORK_TOKEN', ''),
            'aes_key' =>  env('WECHAT_WORK_AES_KEY', ''),
        ],
    ],
];
